package com.cloudkinto.service.replacement;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cloudkinto.common.web.PageResult;
import com.cloudkinto.common.web.SingleResult;
import com.cloudkinto.entity.ReplacementDo;
import com.cloudkinto.service.replacement.vo.*;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * @author fanp
 * @version v1.0.0
 * @Description :
 * @Create on : 2021/4/13 17:21
 **/
public interface ReplacementService extends IService<ReplacementDo> {
    PageResult getListPage(Map<String, String> map);

    SingleResult updateR(Long currentUserId, ReplacementUpdateReq replacementUpdateReq);

    SingleResult delete(Long currentUserId, Long id);

    SingleResult addInit(Long outputId);

    SingleResult add(Long currentUserId, ReplacementAddReq replacementAddReq, Long companyId);

    void exportMessage(ReplacementExportReq req, HttpServletResponse response);

    SingleResult pageInit(Long companyId, Long currentUserId);

    SingleResult getSkuList(Long companyId, Long currentUserId);

    Map dealwithTrackNumberExcel(MultipartFile file, Long userid);

    void dealwithOrderSendOut(ReplacementDo outputDo, Long trackId, String trackNumber, Long userid);

    //发送邮件
    SingleResult sendEmail(ReplacementSendEmailReq replacementSendEmail, Long currentUserId) throws Exception;

    SingleResult checkMessage(ReplacementSendEmailReq ids);

    SingleResult truck(ReplacementTruckReq replacementTruckReq, Long currentUserId);

    //打印补发拣货单
    void exportExcel(List<Long> ids, HttpServletResponse response);

    void exportTrackExpress(Map<String, String> map, List<Long> ids, HttpServletResponse response);

    SingleResult updateOrderWaitSend(List<Long> ids, Long currentUserId);

}
